package com.yupi.yupicturebackend.model.dto.ai;

import lombok.Data;

import java.io.Serializable;

/**
 * AI图片生成配置
 *
 * @author yupi
 */
@Data
public class AIGenerationConfig implements Serializable {

    /**
     * AI模型 (stable-diffusion, dalle, midjourney)
     */
    private String model = "stable-diffusion";

    /**
     * 图片宽度
     */
    private Integer width = 1024;

    /**
     * 图片高度
     */
    private Integer height = 1024;

    /**
     * 生成图片数量
     */
    private Integer numImages = 1;

    /**
     * CFG Scale (引导强度)
     */
    private Double cfgScale = 7.0;

    /**
     * 生成步数
     */
    private Integer steps = 50;

    /**
     * 随机种子
     */
    private Long seed;

    /**
     * 负面提示词
     */
    private String negativePrompt;

    /**
     * 图片质量 (standard, hd)
     */
    private String quality = "standard";

    /**
     * 风格预设
     */
    private String stylePreset;

    /**
     * 采样器
     */
    private String sampler = "DPM++ 2M Karras";

    /**
     * 是否高清修复
     */
    private Boolean enableHiResFix = false;

    /**
     * 高清修复放大倍数
     */
    private Double hiResUpscale = 2.0;

    /**
     * 面部修复
     */
    private Boolean enableFaceRestore = false;

    /**
     * 批次大小
     */
    private Integer batchSize = 1;

    /**
     * 超时时间（秒）
     */
    private Integer timeout = 60;

    private static final long serialVersionUID = 1L;
}
